#ifndef WIDGET_H
#define WIDGET_H

#include "analyzer.h"
#include "g_ver.h"

QT_BEGIN_NAMESPACE
namespace Ui { class Widget; }
QT_END_NAMESPACE

class Widget : public QWidget
{
    Q_OBJECT

public:
    Widget(QWidget *parent = nullptr);
    ~Widget();

    void startAnalyzer();
    void stopAnalyzer();

    void appendMessage(const QString &message);
    void onConnected(bool flag);
    void onAnalyzing(bool flag);
    bool checkDateRange();

signals:
    void odbc_connect();
    void test_DL(const QString &cDLCode);
    void analyze_DL(const QString &beginDate);
    void reset_DL(const QString &beginDate);

    void test_EB(const QString &tid);
    void analyze_EB(const QString &beginDate);
    void reset_EB(const QString &beginDate);

private slots:
    void on_btn_connect_clicked();

    void on_btn_analyze_dl_clicked();
    void on_btn_clean_dl_clicked();
    void on_btn_test_dl_clicked();

    void on_btn_analyze_eb_clicked();
    void on_btn_clean_eb_clicked();
    void on_btn_test_eb_clicked();

private:
    Ui::Widget *ui;

    Analyzer *analyzer;
    QThread analyzeThread;

    QString beginDate;
};
#endif // WIDGET_H
